This page last changed on Feb 06, 2009 by cmd0219.
Sprint 2 Goal
Front Burner Stories
Update table without primary key
- Acceptance criteria:
- warning provided if multiple rows will be updated
- cancel function provided
- varchars, ints supported
- "clean" input accepted
- exceptions accepted if user input is bad
Priority |
Description |
Time Estimate |
Time Remaining |
Actual Time |
Last Updated By |
Status |
|
Design Analysis |
3 |
0 |
3 |
Eugene |
Complete
|
|
Implementation and refactoring |
3.5 |
0 |
3 |
Eugene |
Complete
|
|
Providing warning to user if multiple rows are being updated |
1.25 |
0 |
2 |
Eugene |
Complete
|
|
Write acceptance tests |
2 |
2 |
|
Eugene |
Impediment
(Can not update server.xml)
|
|
(Refresh) DBManager Unit Testing |
1 |
0 |
2.5 |
Paul |
Complete
|
|
(Refresh) Servlet Unit Testing |
1 |
0 |
1.5 |
Paul |
Complete
|
|
|
|
|
|
|
|
Total |
|
11.75 |
2 |
12 |
|
|
Design just came as extension of previous update story. Only needed to send old values for WHERE clause
Update using author provided information (column names, sql, ...)
- Note: "user provided information" will be refined during sprint. Currently considering providing a list of column names.
Priority |
Description |
Time Estimate |
Time remaining |
Time Spent |
Status |
|
Design Analysis |
3.5 |
0 |
2.5 |
Complete
|
|
Implementation and refactoring |
3 |
0 |
.5 |
Complete
|
|
Get parameters from macroinfo |
1 |
0 |
1 |
Complete
|
|
Presentation |
3 |
0 |
3 |
Complete
|
|
Design images |
1 |
0 |
1.5 |
Complete
|
|
Insert values into produced javascript, send to update servlet as 'keys
*Check for columns existing, if not show warning* |
2 |
0 |
.5 |
Complete
|
|
Generate SQL Statement |
1 |
0 |
.5 |
Complete
|
|
UI Refactoring |
2 |
0 |
2.7 |
Complete
|
|
Edit Row Cancel |
1 |
0 |
1.5 |
Complete
|
|
Make User supplied columns uneditable (when editing row) - modify javascript logic to add input elements to check both primary keys AND identifying columns |
1.5 |
0 |
1 |
Complete
|
|
Unit testing |
1.5 |
0 |
1.5 |
Complete
|
|
Write acceptance tests |
2 |
0 |
.5 |
Complete
|
|
|
|
|
|
|
Total |
|
22.5 |
0 |
16.7 |
|
Notes
UI refactoring:
- Sorting columns
- In cell click for edit
TODO
*make user supplied rows uneditable
*where in callback does the old data replacement go
Update with complex datatype support
Edit
Priority |
Description |
Size (Point) Estimate |
Time Estimate |
|
Design Analysis |
2 |
1 |
|
Implementation, unit testing (TDD) and refactoring |
1 |
1 |
|
Write acceptance tests |
1 |
1 |
|
|
|
|
Total |
|
4 |
3 |
Issues:
- Updating a view without a primary key
- Define author provided information
Back Burner Stories
Update view of table with primary key
- Acceptance criteria:
- varchars, ints supported
- "clean" input accepted
- exceptions accepted if user input is bad
- Issues:
- Can we find out if there are primary keys?
- Can we use JDBC MetaData?
- Oracle vs. MySQL JDBC driver
Priority |
Description |
Time Estimate |
Time Remaining |
Actual Time |
Last Updated By |
Status |
|
Research/spike relationship between tables and views when updating rows |
1.5 |
.5 |
1 |
Paul |
In Progress
|
|
Create test VIEWs |
.5 |
0 |
.5 |
Paul |
Complete
|
|
Design Analysis |
4 |
2 |
2 |
Paul |
In Progress
|
|
Implementation and refactoring |
3.5 |
3.5 |
|
|
|
|
Unit Testing |
2 |
2 |
|
|
|
|
Write acceptance tests |
2 |
2 |
|
|
|
|
|
|
|
|
|
|
Total |
|
13 |
9.5 |
3.5 |
|
|
Notes
There are issues with updating views of multiple tables.
The approach we think will work is to query for the view definition in vendor specific manor, (MySQL has INFORMATION_SCHEMA table, but slightly different for oracle). Allows for a mapping aliases in the view results to the select statement they map to.
E.g.:
Select C, A FROM view1;
View has columns A, B, C, D, where A maps to t1.c1, B to t1.c2, C to t2.c2, D to t2.c1
Note that the order of columns, and number is not exact from the select and view, and the view's columns could be from other views, meaning the mapping has to be semi-recursive.
Overall: View columns in the select are mapped to the real view columns, then to the table columns they come from.
Charts
|